package com.bestcem.xm.award.constant;

import lombok.AccessLevel;
import lombok.NoArgsConstructor;

/**
 * 数据库表字段名称常量
 *
 * @author sh.pei <sh.pei@idiaoyan.com>
 * @version v1.0
 * @date 2021/6/29 16:40
 */
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class ColumnConstant {

    private static class Base {
        public static final String ID = "_id";
        public static final String CREATE_TIME = "CT";
    }

    /**
     * 奖励元数据表
     */
    public static class AwardAward extends Base {
        public static final String TTYPE = "ttype";
        public static final String STATUS = "status";
        public static final String ACTIVATED = "activated";
        public static final String ACTIVITY_ID = "activity_id";
        public static final String ORG_ID = "org_id";
        public static final String QDES_ID = "qdes_id";
        public static final String NAME = "name";
        public static final String RULE = "rule";
        public static final String RULE_TIME = "rule.time";
        public static final String RULE_DAY = "rule.day";
        public static final String BASIC_START = "basic.start";
        public static final String BASIC_STOP = "basic.stop";
        public static final String BASIC_TOTAL = "basic.total";
        public static final String BASIC_PROB = "basic.prob";
        public static final String AWARDS_NUM = "awards.num";
        public static final String AWARDS_LEVEL = "awards.level";
        public static final String AWARDS_NAME = "awards.name";
        public static final String AWARDS_DESC = "awards.desc";
        public static final String AWARDS_IMG = "awards.img";
        public static final String AWARDS_METHOD = "awards.method";
        public static final String AWARDS_PREFIX = "awards.prefix";
        public static final String AWARDS_TIP = "awards.tip";
        public static final String AWARDS_LEVEL_STR = "awards.level_str";
        public static final String ISSUE_METHOD = "issue.method";
        public static final String ISSUE_TIP = "issue.tip";
        public static final String PAGE_URL = "page.url";
        public static final String PAGE_PC = "page.pc";
        public static final String PAGE_MOBILE = "page.mobile";
        public static final String PAGE_TEMPLATE_FP = "page.template_fp";
        public static final String PAGE_GCSS_FP = "page.gcss_fp";
        public static final String PAGE_ATTACHMENTS = "page.attachments";
        public static final String PAGE_ATTACHMENTS_ID = "id";
        public static final String SETTLEMENT = "settlement";
        public static final String CREATE_TIME = "ct";
        public static final String UPDATE_TIME = "ut";
        public static final String CREATED_ID = "created_id";
        public static final String UPDATED_ID = "updated_id";
        public static final String RECORD_FLAG = "record_flag";
        public static final String CUR_COUNT = "cur_count";

        public static final String SIN_POINT = "band_point.sin_point";
        public static final String POINT_ID = "band_point.point_id";
        public static final String REMARK = "band_point.remark";
        public static final String TOTAL = "band_point.total";
        public static final String STOP_ADVANCE = "band_point.stop_advance";
        public static final String TIP = "band_point.tip";
        public static final String POINT_NAME = "band_point.point_name";
        public static final String CODE = "band_point.code";


    }

    /**
     * 抽奖记录表字段 AWARD_RECORD
     */
    public static class AwardRecordColumn {
        public static final String ID = "_id";
        public static final String AWARD_ID = "award_id";
        public static final String AWARD_AWARD_ID = "award.award_id";
        public static final String AWARD_DELIVER_ID = "award.deliver_id";
        public static final String AWARD_DELIVER_SOURCE = "award.deliver_source";
        public static final String AWARD_DELIVER_NAME = "award.deliver_name";
        public static final String AWARD_SURVEY_ID = "award.survey_id";
        public static final String AWARD_SURVEY_SEQ = "award.survey_seq";
        public static final String AWARD_AWARD_PAGE = "award.award_page";
        public static final String AWARD_PHONE = "award.phone";
        public static final String AWARD_SIG = "award.sig";
        public static final String PHONE = "phone";
        public static final String STATUS = "status";
        public static final String CREATE_TIME = "ct";
        public static final String UPDATE_TIME = "ut";
        public static final String WIN_NAME = "win.name";
        public static final String WIN_LEVEL = "win.level";
        public static final String WIN_CODE = "win.code";
        public static final String WIN_STATUS = "win.status";
        public static final String WIN_TIME = "win.time";
        public static final String WIN_LEVEL_STR = "win.level_str";
        public static final String WIN_METHOD = "win.method";
        public static final String CONTACT_PHONE = "contact_phone";
        public static final String NAME = "name";
        public static final String ADDR_PROVINCE = "addr.province";
        public static final String ADDR_CITY = "addr.city";
        public static final String ADDR_MORE = "addr.more";

        private AwardRecordColumn() {
        }
    }

    /**
     * AWARD_WIN表字段
     */
    public static class AwardWinColumn {
        public static final String ID = "_id";
        public static final String CODE = "code";
        public static final String LEVEL = "level";
        public static final String NAME = "name";
        public static final String AWARD_ID = "award_id";
        public static final String CREATE_TIME = "ct";
        public static final String UPDATE_TIME = "ut";
        public static final String USED = "used";

        private AwardWinColumn() {
        }
    }

    /**
     * AWARD_TEMP表字段
     */
    public static class AwardTempColumn {
        public static final String ID = "_id";
        public static final String CODE = "code";
        public static final String LEVEL = "level";
        public static final String NAME = "name";
        public static final String TEMP_ID = "temp_id";
        public static final String CREATE_TIME = "ct";
        public static final String UPDATE_TIME = "ut";

        private AwardTempColumn() {
        }
    }

    /**
     * AWARD_REQUEST表字段
     */
    public static class AwardRequestColumn {
        public static final String ID = "_id";
        public static final String AWARD_ID = "award_id";
        public static final String IP = "ip";
        public static final String STATUS = "status";
        public static final String TTY = "tty";
        public static final String DELIVER_SOURCE = "deliver.source";
        public static final String DELIVER_CODE = "deliver.code";
        public static final String DELIVER_SCENES = "deliver.scenes";
        public static final String DELIVER_ORG_USER = "deliver.org_code";
        public static final String DELIVER_DELIVER_ID = "deliver.deliver_id";
        public static final String DELIVER_SIG = "deliver.sig";
        public static final String DELIVER_CHECK_SUBMIT = "deliver.checkSubmit";
        public static final String DELIVER_CHECK_CODE = "deliver.checkCode";
        public static final String DELIVER_MEMBER_ID = "deliver.memberId";
        public static final String DELIVER_AWARD_ID = "deliver.awardId";
        public static final String DELIVER_DELIVER_GROUP_ID = "deliver.deliver_g_id";
        public static final String SURVEY_SURVEY_ID = "survey.survey_id";
        public static final String SURVEY_SEQ = "survey.seq";
        public static final String SURVEY_STATUS = "survey.status";
        public static final String SURVEY_SOURCE = "survey.source";
        public static final String SURVEY_SURVEY_IP = "survey.survey_ip";
        public static final String SURVEY_TS = "survey.ts";
        public static final String SURVEY_DELIVER_ID = "survey.deliver_id";
        public static final String SURVEY_COST_TIME = "survey.timecost";
        public static final String SURVEY_SIG = "survey.sig";
        public static final String SURVEY_DELIVER_GROUP_ID = "survey.deliver_group_id";
        public static final String CREATE_TIME = "ct";
        public static final String UPDATE_TIME = "ut";

        private AwardRequestColumn() {
        }
    }

    /**
     * AWARD_History表字段
     */
    public static class AwardHistoryColumn {
        public static final String ID = "_id";
        public static final String AWARD_ID = "award_id";
        public static final String AMOUNT = "amount";
        public static final String CREATED_DT = "created_dt";
        public static final String CREATED_ID = "created_id";
        public static final String DELIVER_CHANNEL = "deliver_channel";
        public static final String DELIVER_ID = "deliver_id";
        public static final String DELIVER_NAME = "deliver_name";
        public static final String OPEN_ID = "open_id";
        public static final String ORDER_ID = "order_id";
        public static final String RECORD_FLAG = "record_flag";
        public static final String REQUEST_ID = "request_id";
        public static final String SEND_TIME = "send_time";
        public static final String SEQ = "seq";
        public static final String STATUS = "status";
        public static final String UPDATED_DT = "updated_dt";
        public static final String UPDATED_ID = "updated_id";

        private AwardHistoryColumn() {
        }
    }

    /**
     * GrpcPlatform表字段
     */
    public static class GrpcPlatformColumn {
        public static final String ID = "_id";
        public static final String CODE = "code";
        public static final String RECORD_FLAG = "record_flag";

        private GrpcPlatformColumn() {
        }
    }

    /**
     * msglog表字段
     */
    public static class MsgLogColumn {
        public static final String ID = "_id";
        public static final String EXCHANGE_NAME = "exchange_name";
        public static final String ROUTING_KEY = "routing_key";
        public static final String QUEUE_NAME = "queue_name";
        public static final String TOPIC_NAME = "topic_name";
        public static final String DATA = "data";
        public static final String TYPE = "type";
        public static final String SEND_COUNT = "send_count";
        public static final String CONSUME_COUNT = "consume_count";
        public static final String SEND_ACK = "send_ack";
        public static final String SEND_CAUSE = "send_cause";
        public static final String REPLY_CODE = "reply_code";
        public static final String REPLY_TEXT = "reply_text";
        public static final String CREATE_TIME = "create_time";
        public static final String RUN_TIME = "run_time";
        public static final String SEND_TIME = "send_time";
        public static final String CONSUME_TIME = "consume_time";

        private MsgLogColumn() {
        }

    }

    /**
     * mq消息消费记录表
     */
    public static class AwardMqConsumeLog {
        public static final String ID = "_id";
        public static final String STATUS = "status";
        public static final String UPDATE_TIME = "update_time";
    }

    /**
     * mq消息发送记录表
     */
    public static class AwardMqSendLog {
        public static final String ID = "_id";
        public static final String DELAY = "delay";
        public static final String DELAY_TIME = "delay_time";
        public static final String STATUS = "status";
        public static final String UPDATE_TIME = "update_time";
    }

    /**
     * 品牌积分表
     */
    public static class AwardPoint {
        public static final String ID = "_id";
        public static final String NAME = "name";
        public static final String CODE = "code";
        public static final String ORG_ID = "org_id";
        public static final String RECORD_FLAG = "record_flag";
        public static final String UPDATED_TIME = "update_time";
        public static final String CREATED_TIME = "create_time";
        public static final String USE_FLAG = "used_flag";

    }

    /**
     * 品牌积分表
     */
    public static class AwardPointRecord {
        public static final String ID = "_id";
        public static final String AWARD_ID = "award_id";
        public static final String DELIVER_ID = "deliver_id";
        public static final String REQUEST_ID = "request_id";
        public static final String POINT_ID = "point_id";
        public static final String POINT_NAME = "point_name";
        public static final String PHONE = "phone";
        public static final String AMOUNT = "amount";
        public static final String DELIVER_CHANNEL = "deliver_channel";
        public static final String DELIVER_NAME = "deliver_name";
        public static final String SEND_TIME = "send_time";
        public static final String SEQ = "seq";
        public static final String STATUS = "status";
        public static final String REMARK = "remark";
        public static final String MESSAGE = "dto";
        public static final String RECORD_FLAG = "record_flag";
        public static final String UPDATED_TIME = "update_time";
        public static final String CREATED_TIME = "create_time";
        public static final String CODE = "code";

    }

    /**
     * 奖励请求记录
     */
    public static class AwardRequestStatsDay {
        public static final String ID = "_id";
        public static final String ORG_ID = "org_id";
        public static final String PROJECT_ID = "project_id";
        public static final String AWARD_ID = "award_id";
        public static final String DELIVER_ID = "deliver_id";
        public static final String STATS_DAY = "stats_day";
        public static final String UPDATED_TIME = "update_time";
        public static final String CREATED_TIME = "create_time";

    }


}
